The present invention relates generally to automatic performance techniques for reproducing tones of music (melody or accompaniment) using audio waveform data, and more particularly to a technique for reproducing an automatic performance using audio waveform data and an automatic performance based on control data, such as MIDI data, in synchronism with each other.
There have heretofore been known automatic performance apparatus which prestore an accompaniment pattern data representative of an arpeggio pattern, bass pattern, rhythm pattern and the like of a predetermined unit length, such as a length of four measures, and which perform an automatic performance of tones on the basis of such a prestored accompaniment pattern data. As the accompaniment pattern data, tone waveform signals obtained by sampling an actual musical instrument performance, human voices, natural sounds, etc. (hereinafter referred to also as “audio waveform data”) separately for each of performance parts, such as a chord accompaniment part, bass part and rhythm part, are used in some case, and tone control signals defined in accordance with a predetermined standard (i.e., tone generating control data, such as MIDI data defined in accordance with the MIDI standard) are used in another case. Note that, in this specification, the term “tone” is used to refer to not only a musical sound but also a voice or any other sound.
In the case where control data, such as MIDI data, are used as the accompaniment pattern data, the automatic performance apparatus can generate tones at a desired performance tempo, without causing any tone pitch change, by changing a readout speed or rate of event data (more specifically, note events, such as note-on and note-off events). Namely, the automatic performance apparatus can change the performance tempo by change readout timing of the individual event data included in the MIDI data. The tones do not change in pitch because information like note numbers (tone pitch information) of the event data remain the same despite the change in the readout timing of the individual event data.
It is also known that, in the case where audio waveform data are used as the accompaniment pattern data, on the other hand, the automatic performance apparatus can generate tones at a desired performance tempo, without causing any tone pitch change, by performing time stretch control. In this specification, the term “time stretch control” is used to refer to “compressing audio waveform data on the time axis” (time-axial compression) and/or “stretching audio waveform data on the time axis” (time-axial stretch).
Sometimes, a user wants to create a part of the accompaniment pattern data with MIDI data and create another part of the accompaniment pattern data with audio waveform data. When tones are to be reproduced by use of accompaniment pattern data comprising a mixture of the MIDI data and audio waveform data, a performance tempo of the MIDI data (event readout tempo) may sometimes be designated to a tempo different from an original tempo of the audio waveform data (i.e., tempo at which the audio waveform data were recorded). In such a case, a time difference or deviation would occur between tones reproduced on the basis of the MIDI data and tones reproduced on the basis of the audio waveform data. Thus, the audio waveform data are subjected to the above-mentioned time stretch control such that they are stretched or compressed on the time axis to coincide with or match the performance tempo of the MIDI data. However, because errors tend to occur in arithmetic operations performed in the time stretch control, a reproduced tempo of the audio waveform data still cannot accurately match the designated performance tempo (i.e., performance tempo of the MIDI data), so that there would still occur a slight timing difference or deviation between the tones generated on the basis of the audio waveform data and the tones generated on the basis of the MIDI data. Such a time difference or deviation is problematic in that it is accumulated (or piles up) with the passage of time, as a result of which disharmony between the tones would become unignorable to such a degree as to give an auditorily-unnatural impression.
In order to address the aforementioned prior art problem, a more sophisticated technique has been proposed, which is constructed to output tones generated on the basis of audio waveform data and tones generated on the basis of MIDI data in synchronism with each other. For example, a reproduction apparatus disclosed in Japanese Patent Application Laid-open Publication No. 2001-312277 is constructed to change, for each predetermined period (e.g., each measure, beat or 1/16 beat), a reproduction position of audio waveform data at each periodic time point, occurring every such predetermined period, to a predetermined position associated in advance with the predetermined period, in order to allow the reproduction position of audio waveform data to match the reproduction position of corresponding MIDI data every such predetermined period. In this manner, the reproduction position of the audio waveform data is corrected every predetermined period so that the tones generated on the basis of the audio waveform data and the tones generated on the basis of the MIDI data do not greatly differ in time or timing, with the passage of time, to such a degree as to cause disharmony between the tones.
However, in the reproduction apparatus disclosed in the No. 2001-312277 publication, the control for correcting the reproduction position of the audio waveform data is performed merely uniformly each time the predetermined period arrives with no consideration whatsoever of a degree of a reproduction timing deviation per such predetermined period and a waveform state at the corrected reproduction position (more specifically, state of connection of waveforms before and after the reproduction position). Therefore, sound quality of the tones tend to deteriorate to such a degree as to cause an unignorable auditorily-uncomfortable feeling.